//package file.conversion;
//
//import lombok.extern.slf4j.Slf4j;
//import org.junit.Test;
//import sun.swing.SwingUtilities2;
//
//import javax.imageio.ImageIO;
//import java.awt.*;
//import java.awt.image.BufferedImage;
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.FileOutputStream;
//import java.io.IOException;
//import java.text.SimpleDateFormat;
//import java.util.Date;
//
///**
// * @program JavaBase
// * @description: 文本转图片
// * @author: zhanglu
// * @create: 2020-12-22 18:56:00
// */
//@Slf4j
//public class TextToImage {
//
//    //
//    public static int getLength(String text) {
//        int length = 0;
//        for (int i = 0; i < text.length(); i++) {
//            if (new String(text.charAt(i) + "").getBytes().length > 1) {
//                length += 2;
//            } else {
//                length += 1;
//            }
//        }
//        return length / 2;
//    }
//
//    public static String TextToPic(String text, int width, int height,int fontSize) {
//        try {
//            String filepath = "/Users/zhanglu/Desktop/lu/workspace/dev_workspace/idea/学习/JavaBase/JavaBase/temp/" + getDate() + ".png";
//            File file = new File(filepath);
//            System.out.println("topic=" + text);
//            Font font = new Font("微软雅黑", Font.BOLD, fontSize);
//            BufferedImage bi = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);
//            Graphics2D g2 = (Graphics2D) bi.getGraphics();
//            g2.setBackground(null);
//            g2.clearRect(0, 0, width, height);
//            g2.setFont(font);
//            g2.setPaint(Color.BLACK);
//            g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP,0.3f));
//            g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
//            printString(g2, text, (width - (text.length() * fontSize)) / 2 + 0,(height - fontSize) / 2 + 40, fontSize);
//            g2.dispose();
//            ImageIO.write(bi, "png", file);
//            return "image" + getDate() + ".png";
//
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return "";
//    }
//
//    private static void printString(Graphics2D g2d, String str, int x, int y,int fontSize) {
//        FontMetrics metrics = SwingUtilities2.getFontMetrics(null,g2d.getFont());
//        for (char ca : str.toCharArray()) {
//            int px = metrics.stringWidth("" + ca);
//            g2d.drawString("" + ca, x + (fontSize - px) / 2, y);
//            x += fontSize;
//        }
//    }
//
//    public static String getDate() {
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
//        return formatter.format(new Date());
//    }
//
//    public static void main(String[] args) throws IOException {
////        TextToPic("中文生成图片", 500, 100, 50);
//    }
//
//}
